The present invention relates to a method for carrying out auto refresh sequences on a DRAM that is divided into memory banks. An activation pulse for reading and rewriting and a precharge pulse indicating the original state are supplied from a command decoder during an auto refresh sequence acting on a memory address, and a clock signal is applied to the DRAM.
In order to avoid a loss of data, it is known that the memory cells of DRAMs (dynamic random access memories) have to be regularly read and then have their contents rewritten, which is referred to as a xe2x80x9crefreshxe2x80x9d of the memory cells. In order to facilitate the use of DRAMs in practice, they have, therefore, a logic configuration for an auto refresh command: the latter initiates an operation in which a memory address is independently sought in the DRAM and the memory content of the memory cell associated with the memory address is read out; during this operation, the memory content is then written back to the memory cell and the memory cell is returned to its state prior to the auto refresh command. That state is referred to as the so-called xe2x80x9cprecharge statexe2x80x9d or original state.
In order to process the above operation, in an auto refresh sequence after an auto refresh command, first of all an activation pulse is generated, in the case of which the memory cell assigned to the memory address sought is read and rewritten. After a period of time, the activation pulse is followed by a precharge pulse indicating the re-establishment of the original state of the memory cell.
Memory addresses which have been acted on by such an auto refresh sequence are generated in a counter. The counter is incremented by one at the end of each auto refresh sequence, so that all the memory cells of the memory are successively subjected to a refresh.
In the more recent synchronous DRAMs (SDRAMs), the individual commands are transmitted synchronously with a clock signal, although the auto refresh command proceeds without reference to the clock signal and it is based only on internal time delays.
FIG. 3 is a schematic illustration of the signal profile during such an auto refresh sequence ARS. The signals include a clock signal (CLK) a, an auto refresh command b, an activation pulse c, a precharge pulse d, and a counter reading e with values N and N+1 of an auto refresh counter.
As can be seen from FIG. 3, the auto refresh command b is followed by an activation pulse c, which causes the memory content of a memory cell to be read out and rewritten. The precharge pulse d finally re-establishes the original state of the memory cell. After this auto refresh sequence ARS has proceeded, the content e of the auto refresh counter is incremented from N to N+1.
In order to achieve faster memory access and thus optimization, DRAMs can be constructed from a plurality of memory banks A, B, C as is illustrated in FIG. 4. If this is the case, then, in addition to the commands that are otherwise customary in a DRAM, bank select signals bank sel.A, bank sel.B and bank sel.C are also transmitted, which select the respectively addressed memory banks A, B and C. All the memory banks A, B and C receive the same command signals from a command decoder 1, which is driven by an external command xe2x80x9ccommandxe2x80x9d, so that one command can in each case act on a plurality of memory banks A, B and/or C.
If an auto refresh command is transmitted in a DRAM, then no further command is allowed to be input owing to the ensuing complicated progression of the subsequent commands, such as activation pulse and precharge pulse. At an operating frequency of 200 MHz, these 40 ns correspond to about 8 clock cycles (CLK), which means at most 8 commands. The DRAM cannot be accessed during these 8 clock cycles. This also means, however, that even those memory banks which are not actually addressed by the auto refresh command cannot be accessed.
The object of the invention is to provide a method of carrying out auto refresh cycles in a DRAM which overcomes the above-noted deficiencies and disadvantages of the prior art devices and methods of this kind, and which allows carrying out auto refresh sequences in which those memory banks which are currently not being subjected to an auto refresh sequence can be accessed by means of commands.
With the above and other objects in view there is provided, in accordance with the invention, a method for carrying out auto refresh sequences on a DRAM having a plurality of memory banks. The method comprises the following steps:
applying a clock signal to a DRAM divided into memory banks;
during an auto refresh sequence acting on a memory address, supplying an activation pulse for reading and rewriting and a precharge pulse indicating an original state from a command decoder;
synchronizing the auto refresh sequence with the clock signal, selecting at least one memory bank with a select signal, and feeding the activation pulse and the precharge pulse to the at least one memory bank selected by the select signal; and
forbidding further commands only for the at least one memory bank selected by the auto refresh sequence, and transmitting the precharge pulse during an operating intermission or deriving the precharge pulse from a precharge pulse of another memory bank.
In other words, the auto refresh sequence is synchronized with the clock signal, the activation pulse and the precharge pulse are fed to at least one memory bank selected by the select signal, and further commands are forbidden only for the at least one memory bank selected by the auto refresh sequence, and the precharge pulse is transmitted during an operating intermission or is derived from a precharge pulse of another memory bank.
In the case of the method according to the invention, therefore, during an auto refresh sequence, further commands which differ from the auto refresh command and the activation pulse are forbidden only for those memory banks which are currently selected by the auto refresh command.
If an auto refresh command is transmitted for a selected memory bank, then this auto refresh command is followed by an activation pulse for that memory bank with a corresponding refresh address supplied by the counter. In the example of FIG. 3, the memory address for the counter reading N+1 follows the memory address for the counter reading of N. An auto refresh logic configuration contained in the command decoder 1 or connected thereto registers the selected memory banks. In a following clock cycle CLK, it is already possible to process other memory banks with other commands. After 30 ns or 6 clock cycles, for example, the memory bank has experienced a refresh. Instead of 6 clock cycles, it is also possible to choose a number of clock cycles, for example 20 clock cycles. A precharge pulse must then also be transmitted to the memory bank. However, since there are only one command decoder 1 and also only one precharge line, said precharge pulse cannot be output immediately after the 30 ns or 6 clock cycles have elapsed. The system waits, therefore, until a user no longer outputs a command: the intermission occurring as a result of this is utilized internally in the DRAM to select the memory bank that is currently being subjected to the auto refresh and to supply a precharge pulse to said memory bank.
As an alternative, it is also possible to utilize the precharge pulse which, after an auto refresh sequence on one memory bank has ended, is subsequently fed to another memory bank. In other words, in this exemplary embodiment, both memory banks are supplied with the same precharge pulse.
The method according to the invention affords the advantage that the DRAM is only blocked for the one clock cycle in which the auto refresh pulse is present. During the following clock cycles, the DRAM can be fully utilized for other commands even though the auto refresh sequence is currently proceeding in the selected memory bank.
If a DRAM comprises two banks, for example, and if the latter are processed alternately with the synchronous auto refresh command, then, in the case of such a structure, only the even addresses would experience a refresh in one memory bank and only the odd addresses would experience a refresh in the other memory bank, since the auto refresh address counter is incremented upon each command. Therefore, it is expedient to implement two auto refresh commands from the command decoder 1, the counter being incremented in the case of one auto refresh command and not being incremented in the case of the other auto refresh command.
Other features which are considered as characteristic for the invention are set forth in the appended claims.
Although the invention is illustrated and described herein as embodied in a method for carrying out auto refresh sequences on a DRAM, it is nevertheless not intended to be limited to the details shown, since various modifications and structural changes may be made therein without departing from the spirit of the invention and within the scope and range of equivalents of the claims.
The construction and method of operation of the invention, however, together with additional objects and advantages thereof will be best understood from the following description of specific embodiments when read in connection with the accompanying drawings.